package com.brainshare.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.brainshare.common.annotation.Excel;
import com.brainshare.common.core.domain.BaseEntity;

/**
 * 红包记录对象 red_packet_record
 * 
 * @author ruoyi
 * @date 2023-08-28
 */
public class RedPacketRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 数据库主键 */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phone;

    /** 红包金额，单位分 */
    @Excel(name = "红包金额，单位分")
    private Long redPacketAmount;

    /** 红包类型 (0：红包 1：提现卡) */
    @Excel(name = "红包类型 (0：红包 1：提现卡)")
    private Integer redPacketType;

    /** 二级红包类型（0：筛查红包 1：完成信息填写红包 2：完成体检红包 3：分享第一个好友 4：分享第二个好友 5：分享第三个好友 6：分享第四个好友 7：分享第五个好友 10：填写基础信息 11：第一组题完成 12：第二组题完成 13：添加企业微信） */
    @Excel(name = "二级红包类型", readConverterExp = "0=：筛查红包,1=：完成信息填写红包,2=：完成体检红包,3=：分享第一个好友,4=：分享第二个好友,5=：分享第三个好友,6=：分享第四个好友,7=：分享第五个好友,1=0：填写基础信息,1=1：第一组题完成,1=2：第二组题完成,1=3：添加企业微信")
    private Integer redPacketType2;

    /** 红包状态（0：未提现 1：提现成功 2：提现失败 3：已失效 4：已领取 5：未领取） */
    @Excel(name = "红包状态", readConverterExp = "0=：未提现,1=：提现成功,2=：提现失败,3=：已失效,4=：已领取,5=：未领取")
    private Integer redPacketStatus;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNo;

    /** 提现流水号 */
    @Excel(name = "提现流水号")
    private String outTradeNo;
    /**
     * 提现第三方请求LOG
     */
    private String outTradeLog;

    /** 是否删除0:未删除 1：已删除 */
    @Excel(name = "是否删除0:未删除 1：已删除")
    private Integer yn;

    /** 创建者 */
    @Excel(name = "创建者")
    private String createUser;

    /** 更新者 */
    @Excel(name = "更新者")
    private String updateUser;

    /**
     * 卡片类型 1：金卡 0：银卡
     */
    private Integer cardType;

    /** 余额，单位分 */
    private Long remindMoney;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setRedPacketAmount(Long redPacketAmount) 
    {
        this.redPacketAmount = redPacketAmount;
    }

    public Long getRedPacketAmount() 
    {
        return redPacketAmount;
    }
    public void setRedPacketType(Integer redPacketType) 
    {
        this.redPacketType = redPacketType;
    }

    public Integer getRedPacketType() 
    {
        return redPacketType;
    }
    public void setRedPacketType2(Integer redPacketType2) 
    {
        this.redPacketType2 = redPacketType2;
    }

    public Integer getRedPacketType2() 
    {
        return redPacketType2;
    }
    public void setRedPacketStatus(Integer redPacketStatus) 
    {
        this.redPacketStatus = redPacketStatus;
    }

    public Integer getRedPacketStatus() 
    {
        return redPacketStatus;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setOutTradeNo(String outTradeNo) 
    {
        this.outTradeNo = outTradeNo;
    }

    public String getOutTradeNo() 
    {
        return outTradeNo;
    }
    public void setYn(Integer yn) 
    {
        this.yn = yn;
    }

    public Integer getYn() 
    {
        return yn;
    }
    public void setCreateUser(String createUser) 
    {
        this.createUser = createUser;
    }

    public String getCreateUser() 
    {
        return createUser;
    }
    public void setUpdateUser(String updateUser) 
    {
        this.updateUser = updateUser;
    }

    public String getUpdateUser() 
    {
        return updateUser;
    }

    public void setCardType(Integer cardType) {
        this.cardType = cardType;
    }

    public Integer getCardType() {
        return cardType;
    }

    public Long getRemindMoney() {
        return remindMoney;
    }

    public void setRemindMoney(Long remindMoney) {
        this.remindMoney = remindMoney;
    }

    public String getOutTradeLog()
    {
        return outTradeLog;
    }

    public void setOutTradeLog(String outTradeLog)
    {
        this.outTradeLog = outTradeLog;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("phone", getPhone())
            .append("redPacketAmount", getRedPacketAmount())
            .append("redPacketType", getRedPacketType())
            .append("redPacketType2", getRedPacketType2())
            .append("redPacketStatus", getRedPacketStatus())
            .append("orderNo", getOrderNo())
            .append("outTradeNo", getOutTradeNo())
            .append("outTradeLog", getOutTradeLog())
            .append("yn", getYn())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
